#ifndef INCLUDED_Bullet_H
#define INCLUDED_Bullet_H

#include <SGE.h>
using namespace SGE;
class Bullet
{
public:
	Bullet(void);
	~Bullet(void);

	void Load();
	void Unload();
	void Update(float deltaTime);
	void Render();

	void Fire(const SVector2& pos , const SVector2& vel);
	void Kill();
	bool IsActive() const {return mActive;}
	SCircle GetBoundingCircle() const {return SCircle(mposition,10.0f);}
private:
	SGE_Sprite msprite;
	SVector2 mposition;
	SVector2 mvelocity;
	bool mActive;
};

#endif  INCLUDED_Bullet_H

// OOP Object Oriented Programming
// - ability to create user defined types
// what is a type
// - properties (member variables)
// - behaviours (member functions)

// What does it contain?
// What can you do with it?

// in C++, type is created with "class" keyword
//what does class provide?
// 1.- Encapsulation
// 2.- Inheritance
// 3.- Polymorphism

// remind to talk about const 